home *** CD-ROM | disk | FTP | other *** search
- /*
- File: StorageClassUTDriverIcons.c
-
- Contains: All declarations and types that are associated with the
- Driver's Drive and Media Icons.
-
- Version: 1.1
-
- Copyright: © 1998-1999 by Apple Computer, Inc., all rights reserved.
-
- */
- #include <DriverServices.h>
- #include <Folders.h>
-
- #include "StorageClassUTDriverIcons.h"
-
- IconFamilyPtr CartridgeMediaIconFamily;
- IconFamilyHandle FloppyMediaIconFamily;
-
- // The IconRef is used for getting the Floppy family of Icons from the system
- static IconRef theFloppyIconRef;
-
- // This is the black and white Apple Floppy icon and mask for use in
- // systems where the IconServicesLib isn't present
- DiskIcon AppleFloppyMediaIcon =
- {
- 0x7FFF, 0xFFF0, 0x8080, 0x0208, 0x8080, 0xE204, 0x8081, 0x1202,
- 0x8081, 0x1202, 0x8081, 0x1202, 0x8081, 0x1202, 0x8081, 0x1202,
- 0x8080, 0xE202, 0x8080, 0x0202, 0x807F, 0xFC02, 0x8000, 0x0002,
- 0x8000, 0x0002, 0x8000, 0x0002, 0x8000, 0x0002, 0x87FF, 0xFFC2,
- 0x8800, 0x0022, 0x8800, 0x0022, 0x8800, 0x0022, 0x8800, 0x0022,
- 0x8800, 0x0022, 0x8800, 0x0022, 0x8800, 0x0022, 0x8800, 0x0022,
- 0x8800, 0x0022, 0x8800, 0x0022, 0x8800, 0x0022, 0x8800, 0x0022,
- 0x8800, 0x0022, 0x8800, 0x0022, 0x8800, 0x0022, 0x7FFF, 0xFFFC,
-
- /************************* MASK ****************************/
- 0x7FFF, 0xFFF0, 0xFFFF, 0xFFF8, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFE,
- 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE,
- 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE,
- 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE,
- 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE,
- 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE,
- 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE,
- 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFE, 0x7FFF, 0xFFFC
- };
-
- // The following structures are all used by the driver in systems
- // that support the color icons by use of the IconServicesLib
-
- // This is the Large 1 bit Cartridge icon and mask, this is also used in
- // systems where the IconServicesLib isn't present
- DiskIcon CartridgeIcon = //cartridge icon
- {
- 0x0000, 0x0000, 0x3BFF, 0xFFF0, 0x4440, 0x0108, 0x8440, 0x0104,
- 0x8441, 0xE104, 0x8441, 0x2104, 0x8441, 0x2104, 0x8441, 0x2104,
- 0x8441, 0x2104, 0x8441, 0xE104, 0x8440, 0x0104, 0x8440, 0x0104,
- 0x8440, 0x0104, 0x8440, 0x0104, 0x8440, 0x0104, 0x8440, 0x0104,
- 0x8440, 0x0104, 0x847F, 0xFF04, 0x8400, 0x0104, 0x8400, 0x0104,
- 0x8400, 0x0104, 0x8400, 0x0104, 0x8400, 0x0104, 0x8400, 0x0104,
- 0x8400, 0x0104, 0x8400, 0x0104, 0x8400, 0x0106, 0x8400, 0x0107,
- 0x8400, 0x0107, 0x8400, 0x0107, 0x8400, 0x0107, 0x7FFF, 0xFFFE,
-
- /************************* MASK ****************************/
- 0x0000, 0x0000, 0x3BFF, 0xFFF0, 0x7FFF, 0xFFF8, 0xFFFF, 0xFFFC,
- 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC,
- 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC,
- 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC,
- 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC,
- 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC,
- 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFC, 0xFFFF, 0xFFFE, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x7FFF, 0xFFFE
- };
-
- // This is the Large 4 bit Cartridge icon
- UInt16 Media_icl4[] =
- {
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x00FF, 0xF0AF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
- 0x0F00, 0x0DCC, 0xCA00, 0x0000, 0x0000, 0x0CA0, 0x000C, 0xF000,
- 0xF00C, 0xCDCC, 0xCD0C, 0x0C0C, 0xCCCC, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD00, 0xC00E, 0xEEE0, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0x0C0E, 0xDDD0, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD00, 0xCC0E, 0xDDD0, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0xCC0E, 0xDDD0, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0xCC0E, 0xDDD0, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0xCC0E, 0xDDD0, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0xCC00, 0x0000, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0xCCCC, 0xCCCC, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0xCCCC, 0xCCCC, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0xCCCC, 0xCCCC, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCD0C, 0xCCCC, 0xCCCC, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCD0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCDDD, 0xDDDD, 0xDDDD, 0xDDE0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDF00,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDFA0,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDFAA,
- 0xF0CC, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDFAA,
- 0xF00C, 0xCDCC, 0xCCCC, 0xCCCC, 0xCCCC, 0xCCC0, 0xCCCC, 0xDFAA,
- 0xFDDD, 0xDDDD, 0xDDDD, 0xDDDD, 0xDDDD, 0xDDDC, 0xDDDD, 0xDFAA,
- 0x0FFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFAA0
- };
-
- // This is the Large 8 bit Cartridge icon
- UInt16 Media_icl8[] =
- {
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
- 0x0000, 0xFFFF, 0xFF00, 0xFDFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000, 0x0000,
- 0x00FF, 0x0000, 0x00FA, 0xF6F6, 0xF6FD, 0x0000, 0x0000, 0x0000,
- 0x0000, 0x0000, 0x00F6, 0xFD00, 0x00F5, 0xF52B, 0xFF00, 0x0000,
- 0xFF00, 0x00F6, 0xF6FA, 0xF8F8, 0xF8F9, 0x00F6, 0x00F6, 0x00F6,
- 0xF6F6, 0xF6F6, 0xF6F6, 0xFA00, 0xF62B, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0xF62B, 0x2BFA, 0xF8F8, 0xF8F9, 0x0000, 0xF600, 0x00FB,
- 0xFBFB, 0xFB00, 0xF6F6, 0xFA00, 0x2BF7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0xF6F7, 0x2BFA, 0xF8F8, 0xF8F9, 0x00F6, 0x00F6, 0x00FB,
- 0xF9F9, 0xF900, 0xF6F6, 0xFA00, 0x2BF7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0xF7F7, 0xF7FA, 0xF8F8, 0xF8F9, 0x0000, 0xF6F6, 0x00FB,
- 0xF9F9, 0xF900, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF8F8, 0xF8F9, 0x00F6, 0xF6F6, 0x00FB,
- 0xF9F9, 0xF900, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF8F8, 0xF8F9, 0x00F6, 0xF6F6, 0x00FB,
- 0xF9F9, 0xF900, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF8F8, 0xF8F9, 0x00F6, 0xF6F6, 0x00FB,
- 0xF9F9, 0xF900, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF8F8, 0xF8F9, 0x00F6, 0xF6F6, 0x0000,
- 0x0000, 0x0000, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF8F8, 0xF8F9, 0x00F6, 0xF6F6, 0xF6F6,
- 0xF6F6, 0xF6F6, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF8F8, 0xF8F9, 0x00F6, 0xF6F6, 0xF6F6,
- 0xF6F6, 0xF6F6, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F9, 0x00F6, 0xF6F6, 0xF6F6,
- 0xF6F6, 0xF6F6, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F9, 0x00F6, 0xF6F6, 0xF6F6,
- 0xF6F6, 0xF6F6, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F9, 0xF7F6, 0xF6F6, 0xF6F6,
- 0xF6F6, 0xF6F6, 0xF6F6, 0xFA00, 0xF7F7, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F9, 0xFAFA, 0xFAFA, 0xFAFA,
- 0xFAFA, 0xFAFA, 0xFAFA, 0xFB00, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF8F8, 0xF7F8, 0xF9FF, 0x0000,
- 0xFF00, 0x2BF7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF7F8, 0xF7F8, 0xF9FF, 0xFD00,
- 0xFF00, 0xF7F7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF7F8, 0xF7F8, 0xF9FF, 0xFDFD,
- 0xFF00, 0xF7F7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF7F8, 0xF7F8, 0xF9FF, 0xFDFD,
- 0xFF00, 0xF5F7, 0xF7FA, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7,
- 0xF7F7, 0xF7F7, 0xF7F7, 0xF700, 0xF7F8, 0xF7F8, 0xF9FF, 0xFDFD,
- 0xFFF9, 0xF9F9, 0xF9FA, 0xF9F9, 0xF9F9, 0xF9F9, 0xF9F9, 0xF9F9,
- 0xF9F9, 0xF9F9, 0xF9F9, 0xF92B, 0xF9F9, 0xF9F9, 0xF9FF, 0xFDFD,
- 0x00FF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFD, 0xFD00
- };
-
- // This is the small 1 bit Cartridge icon and mask
- UInt16 Media_ics1[] =
- {
- 0x7FFC, 0xA812, 0xA9D2, 0xA952, 0xA9D2, 0xA812, 0xA812, 0xA812,
- 0xAFF2, 0xA012, 0xA012, 0xA012, 0xA012, 0xA013, 0xA013, 0xFFFF,
- 0x7FFC, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE,
- 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFE, 0xFFFF, 0xFFFF, 0xFFFF
- };
-
- // This is the small 4 bit Cartridge icon
- UInt16 Media_ics4[] =
- {
- 0x0FFF, 0xFFFF, 0xFFFF, 0xFF00, 0xFCDC, 0xDCCC, 0xCCCD, 0xCCF0,
- 0xFCDC, 0xDCCE, 0xEECD, 0xCCF0, 0xFCDC, 0xDCCE, 0xDDCD, 0xCCF0,
- 0xFCDC, 0xDCCE, 0xDDCD, 0xCCF0, 0xFCDC, 0xDCCC, 0xCCCD, 0xCCF0,
- 0xFCDC, 0xDCCC, 0xCCCD, 0xCCF0, 0xFCDC, 0xDCCC, 0xCCCD, 0xCCF0,
- 0xFCDC, 0xDDDD, 0xDDDE, 0xCCF0, 0xFCDC, 0xCCCC, 0xCCCC, 0xCCF0,
- 0xFCDC, 0xCCCC, 0xCCCC, 0xCCF0, 0xFCDC, 0xCCCC, 0xCCCC, 0xCCF0,
- 0xFCDC, 0xCCCC, 0xCCCC, 0xCCF0, 0xFCDC, 0xCCCC, 0xCCCC, 0xCCFA,
- 0xFCDC, 0xCCCC, 0xCCCC, 0xCCFA, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFA
- };
-
- // This is the small 8 bit Cartridge icon
- UInt16 Media_ics8[] =
- {
- 0x00FF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0x0000,
- 0xFFF6, 0xFAF8, 0xFDF6, 0xF6F6, 0xF6F6, 0xF6FD, 0xF6F8, 0xFF00,
- 0xFFF7, 0xFAF8, 0xF9F6, 0xF6FB, 0xFBFB, 0xF6FA, 0xF7F8, 0xFF00,
- 0xFFF7, 0xFAF8, 0xF9F6, 0xF6FB, 0xF9F9, 0xF6FA, 0xF7F8, 0xFF00,
- 0xFFF7, 0xFAF8, 0xF9F6, 0xF6FB, 0xF9F9, 0xF6FA, 0xF7F8, 0xFF00,
- 0xFFF7, 0xFAF8, 0xF9F6, 0xF6F6, 0xF6F6, 0xF6FA, 0xF7F8, 0xFF00,
- 0xFFF7, 0xFAF8, 0xF9F6, 0xF6F6, 0xF6F6, 0xF6FA, 0xF7F8, 0xFF00,
- 0xFFF7, 0xFAF7, 0xF9F7, 0xF6F6, 0xF6F6, 0xF6FA, 0xF7F8, 0xFF00,
- 0xFFF7, 0xFAF7, 0xF9FA, 0xFAFA, 0xFAFA, 0xFAFB, 0xF8F8, 0xFF00,
- 0xFFF7, 0xFAF7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF8F8, 0xFF00,
- 0xFFF7, 0xFAF7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF8F8, 0xFF00,
- 0xFFF7, 0xFAF7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF8F8, 0xFF00,
- 0xFFF7, 0xFAF7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF8F8, 0xFF00,
- 0xFFF7, 0xFAF7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF8F8, 0xFFFD,
- 0xFFF7, 0xFAF7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF7F7, 0xF8F8, 0xFFFD,
- 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFD
- };
- // The IconServicesLib also supports 32 bit color icons with 8 bit masks,
- // but currently this driver does not include the icons for this style.
-
- void BuildMediaIconFamily( void )
- {
- UInt32 sizeOfFamily;
- UInt32 elementOffset = 0;
- OSErr err;
- IconFamilyElement *CartridgeMedia_ICN1;
- IconFamilyElement *CartridgeMedia_icl4;
- IconFamilyElement *CartridgeMedia_icl8;
- IconFamilyElement *CartridgeMedia_ics1;
- IconFamilyElement *CartridgeMedia_ics4;
- IconFamilyElement *CartridgeMedia_ics8;
-
- // Check to see if the IconServices Library was imported by checking
- // if the address of the GetIconRef call is nil, if it is don't do any
- // of the IconServices calls
- if(GetIconRef==nil)
- {
- FloppyMediaIconFamily = nil;
- CartridgeMediaIconFamily = nil;
- return;
- }
-
- // Set up the Floppy Icon Family
- err = GetIconRef(kOnSystemDisk, kSystemIconsCreator, kGenericFloppyIcon, &theFloppyIconRef);
- if ( err == noErr )
- {
- err = IconRefToIconFamily (theFloppyIconRef, kSelectorAllAvailableData, &FloppyMediaIconFamily);
- }
- else
- {
- FloppyMediaIconFamily = nil;
- }
-
- // Calculate the size of the Cartridge icon Family resource
- sizeOfFamily = (sizeof(IconFamilyResource) - sizeof(IconFamilyElement)) + ((sizeof(OSType) + sizeof(Size)) * 6 ) + sizeof(CartridgeIcon)
- + sizeof(Media_icl4) + sizeof(Media_icl8) + sizeof(Media_ics1) + sizeof(Media_ics4) + sizeof(Media_ics8);
-
- CartridgeMediaIconFamily = (IconFamilyPtr) PoolAllocateResident(sizeOfFamily, true);
- if(CartridgeMediaIconFamily == nil)
- {
- return;
- }
-
- // Set up the Icon family structure
- CartridgeMediaIconFamily->resourceType = kIconFamilyType;
- CartridgeMediaIconFamily->resourceSize = sizeOfFamily;
-
- // Set up the one bit small icon and mask
- elementOffset = 0;
- CartridgeMedia_ics1 = (IconFamilyElement *) &CartridgeMediaIconFamily->elements;
- CartridgeMedia_ics1->elementType = kSmall1BitMask;
- CartridgeMedia_ics1->elementSize = (sizeof(OSType) + sizeof(Size)) + sizeof(Media_ics1);
- BlockMove(&Media_ics1, &CartridgeMedia_ics1->elementData[0], sizeof(Media_ics1));
-
- // Set up the four bit color small icon
- elementOffset += CartridgeMedia_ics1->elementSize;
- CartridgeMedia_ics4 = (IconFamilyElement *)(((UInt32) &CartridgeMediaIconFamily->elements) + elementOffset);
- CartridgeMedia_ics4->elementType = kSmall4BitData;
- CartridgeMedia_ics4->elementSize = (sizeof(OSType) + sizeof(Size)) + sizeof(Media_ics4);
- BlockMove(&Media_ics4, &CartridgeMedia_ics4->elementData[0], sizeof(Media_ics4));
-
- // Set up the 8 bit color small icon
- elementOffset += CartridgeMedia_ics4->elementSize;
- CartridgeMedia_ics8 = (IconFamilyElement *)(((UInt32) &CartridgeMediaIconFamily->elements) + elementOffset);
- CartridgeMedia_ics8->elementType = kSmall8BitData;
- CartridgeMedia_ics8->elementSize = (sizeof(OSType) + sizeof(Size)) + sizeof(Media_ics8);
- BlockMove(&Media_ics8, &CartridgeMedia_ics8->elementData[0], sizeof(Media_ics8));
-
- // Set up the one bit Large icon and mask
- elementOffset += CartridgeMedia_ics8->elementSize;
- CartridgeMedia_ICN1 = (IconFamilyElement *)(((UInt32) &CartridgeMediaIconFamily->elements) + elementOffset);
- CartridgeMedia_ICN1->elementType = kLarge1BitMask;
- CartridgeMedia_ICN1->elementSize = (sizeof(OSType) + sizeof(Size)) + sizeof(CartridgeIcon);
- BlockMove(&CartridgeIcon, &CartridgeMedia_ICN1->elementData[0], sizeof(CartridgeIcon));
-
- // Set up the four bit color Large icon
- elementOffset += CartridgeMedia_ICN1->elementSize;
- CartridgeMedia_icl4 = (IconFamilyElement *)(((UInt32) &CartridgeMediaIconFamily->elements) + elementOffset);
- CartridgeMedia_icl4->elementType = kLarge4BitData;
- CartridgeMedia_icl4->elementSize = (sizeof(OSType) + sizeof(Size)) + sizeof(Media_icl4);
- BlockMove(&Media_icl4, &CartridgeMedia_icl4->elementData[0], sizeof(Media_icl4));
-
- // Set up the 8 bit color Large icon
- elementOffset += CartridgeMedia_icl4->elementSize;
- CartridgeMedia_icl8 = (IconFamilyElement *)(((UInt32) &CartridgeMediaIconFamily->elements) + elementOffset);
- CartridgeMedia_icl8->elementType = kLarge8BitData;
- CartridgeMedia_icl8->elementSize = (sizeof(OSType) + sizeof(Size)) + sizeof(Media_icl8);
- BlockMove(&Media_icl8, &CartridgeMedia_icl8->elementData[0], sizeof(Media_icl8));
- }
-
- // Release the icons and any memory that is used by them
- void DestroyMediaIconFamily( void )
- {
- if ( CartridgeMediaIconFamily != nil)
- {
- PoolDeallocate(CartridgeMediaIconFamily);
- }
-
- CartridgeMediaIconFamily = nil;
-
- if ( FloppyMediaIconFamily != nil )
- {
- ReleaseIconRef(theFloppyIconRef);
- }
-
- FloppyMediaIconFamily = nil;
- }
-